﻿using System.Xml;
using System.Xml.Serialization;

namespace Bpmn.Xml;

/// <remarks/>
[XmlInclude(typeof(System.Linq.Expressions.Expression))]
[XmlInclude(typeof(FormalExpression))]
[Serializable]
[XmlType(Namespace = "http://www.omg.org/spec/BPMN/20100524/MODEL", TypeName = "tBaseElementWithMixedContent")]
[XmlRoot("baseElementWithMixedContent", Namespace = "http://www.omg.org/spec/BPMN/20100524/MODEL", IsNullable = false)]
public abstract partial class BaseElementWithMixedContent
{
    /// <remarks/>
    [XmlElement("documentation")]
    public Documentation[] Documentation { get; set; } = default!;

    /// <remarks/>
    [XmlElement("extensionElements")]
    public ExtensionElements ExtensionElements { get; set; } = default!;

    /// <remarks/>
    [XmlText]
    public string[] Text { get; set; } = default!;

    /// <remarks/>
    [XmlAttribute("id", DataType = "ID")]
    public string Id { get; set; } = default!;

    /// <remarks/>
    [XmlAnyAttribute]
    public XmlAttribute[] AnyAttr { get; set; } = default!;
}
